home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 3
/
Gekikoh Dennoh Club Vol. 3 (Japan).7z
/
Gekikoh Dennoh Club Vol. 3 (Japan) (Track 1).bin
/
fsw3
/
make
/
readme.x68
< prev
Wrap
Text File
|
1995-02-17
|
6KB
|
173 lines
GNU make 3.62 Human68k バージョン
はじめに
GNU make version 3.62 を Human68k に移植しました。このドキュメントは主に
Human68k バージョンのオリジナルとの違いについて述べてあります。
無保証
このプログラムは無保証です。 何が起こっても原作者ならびに私は関知しませ
ん。詳しくは COPYING の NO WARRANTY の項を御覧ください。
Human68k 版について
o 並列実行
-j オプション(複数ジョブの並列実行)、-l オプション(マシンの負荷を見て
複数のジョブを実行する)はサポートしていません。
o アーカイブ
lib.a(obj.o) のようにアーカイブ中のオブジェクトを取り扱う形式はサ
ポートしていません。
o 2 バイト文字コード対応
変数名やコマンド名に漢字などを含めることができます。
o ドライブ名対応
ファイル名にドライブ名を含めることができます。
foo: a:/usr/include/bar.h
のような記述かあっても混乱しません。
o Hupair 対応
HUPAIR 適合のプログラムには HUPAIR Encode されたコマンドラインを渡し
ます。 '" は UNIX などと同様の扱いになりました。なお、HUPAIR 適合でな
いプログラムに対しては中間ファイルを生成して渡します。 次項を参照して
ください。
o 中間ファイル自動生成
実行するコマンドに渡す引数が長くなるときは自動的に中間ファイルを作成
します。コマンドに中間ファイルを指定する方法は indirect 命令で変更で
きます。デフォルトでは "-+-+-中間ファイル名" です。
o ライブラリの自動検索
依存ファイルに -ldos や gmalloc.a のように "-lなんとか" や
"なんとか.a" という形式のファイル名を記述した場合は、 ライブラリパス
($lib)を参照してそのファイルの最終更新時間を調べます。 例えば、
set lib=a:/libとなっている場合、-ldos は a:/lib/doslib.a の最終更新時
刻を参照することになります。
o インクルードパス
Makefile 中の include 命令では、 インクルードファイルを環境変数
MAKE_INCLUDE で示したパスから検索します。 MAKE_INCLUDE が未定義の場
合は環境変数 include を参照します。
o コマンドシェル
make はコマンド行を UNIX の Bourne Shell に対するものと見なして解析し
ます。通常は自力でコマンドを起動しますが、 次の場合には自力での起動を
諦め、 (make の)変数 SHELL に設定されているコマンドシェルを使ってコマ
ンドを実行します。
o コマンドが Bourne Shell の内蔵コマンドである場合
o コマンド行が Bourne Shell のメタキャラクタ(シングルクォートを除く)
を含んでいる場合
変数 SHELL は make 自身によって予め定義されています。その初期値は、環
境変数 MAKE_SHELL があればその値、なければ "sh" です。 いずれの場合も
その値は原則的に Bourne Shell と同等の動作をするシェルであるべきで
す。
変数 SHELL は環境変数の SHELL には影響されません。Makefile かまたは引
数によってのみ、変数 SHELL を再定義することができます。
変数 SHELL を初期値と違う値に再定義すると、make は自分自身でコマンド
行を解析することを放棄し、 *常に*そのコマンドシェルを通してコマンドを
実行するようになります。もしそのコマンドシェルが Bourne Shell と同等
であるのならば、環境変数 MAKE_SHELL を利用して SHELL の初期値をそれに
合わせておくと良いでしょう。 たとえば SHELL=/bin/sh と記述されている
UNIX 用の Makefile をそのまま使うときには、 環境変数 MAKE_SHELL に
"/bin/sh" を設定しておくことです。
なお、 Bourne Shell と同等の動作をするシェルとして、 私が移植したPD
Korn Shell を利用することができます。
o コマンドの実行
コマンドは環境変数 PATH または path を参照して行います。まず、 ファイ
ル属性の第 7 bit が立っているファイルは拡張子によらず実行可能と見なし
ます。次に拡張子として .r .x .z .bat を持つファイルを実行可能と見なし
ます。 X6_3 までは変数 exec_suffix を参照していましたが現在は使ってい
ません。また、ファイルの先頭 2 バイトを見て実行可能かどうかを判断する
ことも行いません。 シェルスクリプトを実行させたいときはスクリプトのフ
ァイル属性の第 7bit(EXEC ビット)を立てておいてください。
実行可能と判断されたファイルは取りあえず spawn() により実行し、失敗し
た場合はコマンドシェルにオプション -c とともに渡して実行を試みます。
すなわち、.bat のようなファイルは、 コマンドシェルを通して実行されま
す。
SHELL=a:/human/command.x /e:100 のように、SHELL に command.x らしきシ
ェル名が記述されているときは -c の代わりに /cをつけてコマンドの実行を
試みます。 ただし、command.x は長いコマンドラインを受け取る手段を持た
ないので、SHELL の値としては適当ではありません。
o 変数のデフォルト値
以下の変数はデフォルトの値がオリジナルとは異なります。
変数名 │オリジナル│Human68k 版
────┼─────┼────────────
CC │cc │gcc
LD │ld │lk
LEX │lex │flex
YACC │yacc │bison -y
ARFLAGS │av │-uv
SHELL │/bin/sh │環境変数 MAKE_SHELL の値
o 代用拡張子
以下の表のように代用の拡張子が使えます。TwentyOne を組み込んでいない
場合などに便利でしょう。
本物 │代用
────┼───
.tab.c │_tab.c
.texinfo│.tif
.info │.inf
.cweb │.cwb
o デフォルト規則
デフォルト規則として .x に関するものを追加してあります。 内容は
make -p によって見ることができます。
o テンポラリファイル
make が作るテンポラリファイルは環境変数 temp を参照して作られます。
o indirect 命令
コマンドに中間ファイルを指定する方法(オプション名)を指定できます。 以
下の形式で記述します。
indirect コマンド名 オプションフラグ
本 make ではデフォルトで以下のコマンドに関する知識を持っています。
コマンド名│オプションフラグ
─────┼────────
lk │-i
ar │-i
as │-i
lha │@
なお、indirect 命令で指定しない場合、デフォルトとして "-+-+-" が用い
られます。
o クォートの扱い
実行コマンド中に現われるクォートは、シングルクォート、 ダブルクォート
ともにそのままコマンドに渡されます。
配布など
本プログラムの配布複製などに関することは COPYING に従います。
バグレポートなど
ご意見、バグレポート等は以下のアドレスまでお願いします。
────────────────
ASCII NET pcs30830
PEKIN-NET HOMY
Internet yhori@trl.mei.co.jp
────────────────